用OpenCV调用IP摄像头(python版)

您所在的位置:网站首页 python uvc摄像头 用OpenCV调用IP摄像头(python版)

用OpenCV调用IP摄像头(python版)

2023-08-24 17:26| 来源: 网络整理| 查看: 265

操作系统: Windows10 用到的软件: 1、anaconda3 2、OpenCV 3 等等 硬件: EasyN摄像头一个(必须为IPcamera)

问题综述

最近在学习OpenCV,想要通过摄像头采集一些视频数据,但是无论如何也调用不了IPcamera的视频,网上的搜索方法用遍了也没有找出解决的方案。但是其中有一点提醒了我,要用到rtsp(百度百科:RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输。)

于是官网上搜了一下rtsp的用法,居然真的有。

我的ip摄像头的ip是192.168.1.104,端口如上554,则总结起来就是rtsp://admin:[email protected]:554/11(其中因为用户名密码稍微涉及了一点隐私,所以就先不写出来了)

#以下是最常用的读取视频流的方法 import cv2 url = 'rtsp://admin:[email protected]:554/11' cap = cv2.VideoCapture(url) while(cap.isOpened()):       # Capture frame-by-frame       ret, frame = cap.read()       # Display the resulting frame       cv2.imshow('frame',frame)       if cv2.waitKey(1) & 0xFF == ord('q'):           break   # When everything done, release the capture   cap.release()   cv2.destroyAllWindows() 

但是最重要的是依然报错了!报错了!报错了!在官网上发现摄像头的rtsp貌似要手动开启,于是首先进入以下的界面(将你的摄像头的ip输入网页上面,例如我的就是192.168.1.104):

接下来点击电脑观看,并点击参数设置:

再点击网络设置:

再点击网络设置:

则会弹出以下界面(这里我将我的摄像头的IP设置为静态ip(这个无所谓),将rtsp设置为开启):

最后点击应用,记得这个时候将摄像头的电源拔掉,重新连接(间隔一定要超过30秒,30秒,30秒,否则可能会出问题,也不要问我为什么,因为我也不知道,这个是很多坑过后的经验)

#再将以下代码重新运行一下 import cv2 url = 'rtsp://admin:[email protected]:554/11' cap = cv2.VideoCapture(url) while(cap.isOpened()):       # Capture frame-by-frame       ret, frame = cap.read()       # Display the resulting frame       cv2.imshow('frame',frame)       if cv2.waitKey(1) & 0xFF == ord('q'):           break   # When everything done, release the capture   cap.release()   cv2.destroyAllWindows() 

最后成功出来你想要的摄像头的视频流。

这里就不跟大家截图了,涉及隐私问题啊。。。

最后如果有更好的想法,可以联系我。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3